﻿using NicoView.Model.Service.Results;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NicoView.Model.Service.Broadcast
{
    public enum NicoViewStartBroadcastResultCode
    {
        Succeed,
        NoneBroadcastableCommunity,
        InvalidCommunityId,
        NotLogin,
        Cancel,
        Broadcasting,
        Fail
    }

    public class NicoViewStartBroadcastResult : Result<NicoViewStartBroadcastResultCode>
    {
        internal NicoViewStartBroadcastResult() : base(NicoViewStartBroadcastResultCode.Succeed) { }

        internal NicoViewStartBroadcastResult(NicoViewStartBroadcastResultCode code, string reason) : base(code, code == NicoViewStartBroadcastResultCode.Succeed, reason) { }


        internal static NicoViewStartBroadcastResult CreateCancel()
        {
            return new NicoViewStartBroadcastResult(NicoViewStartBroadcastResultCode.Cancel, "キャンセルされました");
        }
    }
}
